.. _CA Structures: ========================== CA Structures ========================== .. toctree:: :maxdepth: 1 * :ref:`CAIAction` * :ref:`CAICondition` * :ref:`CAIConditionResponse` * :ref:`CAIGroup` * :ref:`CAIId` * :ref:`CAIIdList` * :ref:`CAINonPlayerScript` * :ref:`CAIObjectType` * :ref:`CAIPlayerScript` * :ref:`CAIResponse` * :ref:`CAIResponseSet` * :ref:`CAIScript` * :ref:`CAIScriptFile` * :ref:`CAITrigger` * :ref:`CAIUtil` * :ref:`CAOEEntry` * :ref:`CAbilityData` * :ref:`CAbilityId` * :ref:`CApplyEffectList` * :ref:`CAreaFile` * :ref:`CAreaFileCharacterEntryPoint` * :ref:`CAreaFileContainer` * :ref:`CAreaFileCreature` * :ref:`CAreaFileDoorObject` * :ref:`CAreaFileHeader` * :ref:`CAreaFileOffsets` * :ref:`CAreaFileProjectileObject` * :ref:`CAreaFileRandomMonsterSpawningPoint` * :ref:`CAreaFileRestEncounter` * :ref:`CAreaFileSoundObject` * :ref:`CAreaFileStaticObject` * :ref:`CAreaFileTiledObject` * :ref:`CAreaFileTriggerObject` * :ref:`CAreaPoint` * :ref:`CAreaSoundsAndMusic` * :ref:`CAreaUserNote` * :ref:`CAreaVariable` * :ref:`CArray` * :ref:`CArray (CDLC)` * :ref:`CArray (CDLC_Content)` * :ref:`CArray (COverridePath)` * :ref:`CArray (CRect)` * :ref:`CArray (CZipFile)` * :ref:`CArray (Mod_t)` * :ref:`CArray (StatRating)` * :ref:`CArray (zip_t)` .. _CAIAction: CAIAction ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIAction Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_actionID | +------------+----------+----------------------------------------+-------------------------------+ | | 2 | | ```` | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 20 | :ref:`CAIObjectType` | m_actorID | +------------+----------+----------------------------------------+-------------------------------+ | 0x18 | 20 | :ref:`CAIObjectType` | m_acteeID | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 20 | :ref:`CAIObjectType` | m_acteeID2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 4 | long | m_specificID | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 4 | long | m_specificID2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 4 | long | m_specificID3 | +------------+----------+----------------------------------------+-------------------------------+ | 0x4C | 4 | :ref:`CString` | m_string1 | +------------+----------+----------------------------------------+-------------------------------+ | 0x50 | 4 | :ref:`CString` | m_string2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x54 | 8 | :ref:`CPoint` | m_dest | +------------+----------+----------------------------------------+-------------------------------+ | 0x5C | 4 | unsigned long | m_internalFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x60 | 4 | :ref:`CString` | m_source | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAICondition: CAICondition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAICondition Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 28 | :ref:`CTypedPtrList` | m_triggerList | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIConditionResponse: CAIConditionResponse ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+-----------------------------------------------+------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+-----------------------------------------------+------------------------+ | 0x00 | 28 | :ref:`CAICondition` | m_condition | +------------+----------+-----------------------------------------------+------------------------+ | 0x1C | 32 | :ref:`CAIResponseSet` | m_responseSet | +------------+----------+-----------------------------------------------+------------------------+ ---- .. _CAIGroup: CAIGroup ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIGroup Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_groupId | +------------+----------+----------------------------------------+-------------------------------+ | | 2 | | ```` | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | int | m_groupChanged | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 28 | :ref:`CTypedPtrList` | m_memberList | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIId: CAIId ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | | long | m_id | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | | :ref:`CString` | m_line | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | | :ref:`CString` | m_start | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIIdList: CAIIdList ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIIdList Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | vfptr | vfptr | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 12 | :ref:`CResHelper` | m_cResHelper | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | :ref:`CString` | m_fileName | +------------+----------+----------------------------------------+-------------------------------+ | 0x14 | 28 | :ref:`CTypedPtrList` | m_idList | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 4 | int | m_faster | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 4 | :ref:`CAIId`\*\* | m_pIdArray | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 4 | long | m_nArray | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAINonPlayerScript: CAINonPlayerScript ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 12 | :ref:`CResHelper` | m_cResHelper | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIObjectType: CAIObjectType ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIObjectType Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CString` | m_name | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 1 | unsigned char | m_EnemyAlly | +------------+----------+----------------------------------------+-------------------------------+ | 0x05 | 1 | unsigned char | m_General | +------------+----------+----------------------------------------+-------------------------------+ | 0x06 | 1 | unsigned char | m_Race | +------------+----------+----------------------------------------+-------------------------------+ | 0x07 | 1 | unsigned char | m_Class | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | long | m_Instance | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 5 | unsigned char | m_SpecialCase[5] | +------------+----------+----------------------------------------+-------------------------------+ | 0x11 | 1 | unsigned char | m_Specifics | +------------+----------+----------------------------------------+-------------------------------+ | 0x12 | 1 | unsigned char | m_Gender | +------------+----------+----------------------------------------+-------------------------------+ | 0x13 | 1 | unsigned char | m_Alignment | +------------+----------+----------------------------------------+-------------------------------+ **Notes** Valid values for the following fields can be found in specific .IDS files: * **m_EnemyAlly** valid values can be found in the ``EA.IDS`` file * **m_General** valid values can be found in the ``GENERAL.IDS`` file * **m_Race** valid values can be found in the ``RACE.IDS`` file * **m_Class** valid values can be found in the ``CLASS.IDS`` file * **m_Specifics** valid values can be found in the ``SPECIFIC.IDS`` file * **m_Gender** valid values can be found in the ``GENDER.IDS`` file * **m_Alignment** valid values can be found in the ``ALIGN.IDS`` file ---- .. _CAIPlayerScript: CAIPlayerScript ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 12 | :ref:`CResHelper` | m_cResHelper | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIResponse: CAIResponse ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIResponse Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_weight | +------------+----------+----------------------------------------+-------------------------------+ | 0x02 | 2 | short | m_responseNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 2 | short | m_responseSetNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x06 | 2 | short | m_scriptNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 28 | :ref:`CTypedPtrList` | m_actionList | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIResponseSet: CAIResponseSet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 28 | :ref:`CTypedPtrList` | m_responseList | +------------+----------+----------------------------------------+-------------------------------+ | 0x1C | 4 | long | m_weightTotal | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIScript: CAIScript ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIScript Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 8 | :ref:`CResRef` | cResRef | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 28 | :ref:`CTypedPtrList` | m_caList | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIScriptFile: CAIScriptFile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAIScriptFile Class` +------------+----------+-------------------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_parseMode | +------------+----------+-------------------------------------------------+-------------------------------+ | | 2 | | ```` | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x04 | 4 | long | m_lineNumber | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x08 | 4 | :ref:`CAIScript`\* | m_curScript | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x0C | 4 | :ref:`CAIResponseSet`\* | m_curResponseSet | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x10 | 4 | :ref:`CAICondition`\* | m_curCondition | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x14 | 4 | :ref:`CAIResponse`\* | m_curResponse | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x18 | 4 | :ref:`CString` | m_errors | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x1C | 16 | :ref:`CFile` | m_file | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x2C | 4 | :ref:`CString` | source | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x30 | 4 | :ref:`CString` | m_decompiledText | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x34 | 60 | :ref:`CAIIdList` | m_actions | +------------+----------+-------------------------------------------------+-------------------------------+ | 0x70 | 60 | :ref:`CAIIdList` | m_triggers | +------------+----------+-------------------------------------------------+-------------------------------+ | 0xAC | 60 | :ref:`CAIIdList` | m_objects | +------------+----------+-------------------------------------------------+-------------------------------+ ---- .. _CAITrigger: CAITrigger ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Used by the :ref:`CAITrigger Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_triggerID | +------------+----------+----------------------------------------+-------------------------------+ | | 2 | | ```` | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | long | m_specificID | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 20 | :ref:`CAIObjectType` | m_triggerCause | +------------+----------+----------------------------------------+-------------------------------+ | 0x1C | 4 | long | m_flags | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 4 | long | m_specific2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | long | m_specific3 | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | :ref:`CString` | m_string1 | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 4 | :ref:`CString` | m_string2 | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAIUtil: CAIUtil ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ See :ref:`CAIUtil Class` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | | 1 | | ```` | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAOEEntry: CAOEEntry ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | ``CAOEEntry::AOEType`` | m_type | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 8 | :ref:`CPoint` | m_center | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 8 | :ref:`CPoint` | m_radius | +------------+----------+----------------------------------------+-------------------------------+ | 0x14 | 4 | unsigned long | m_color | +------------+----------+----------------------------------------+-------------------------------+ **Notes** :: enum CAOEEntry::AOEType { AOE_CIRCLE = 0 AOE_CONE = 1 AOE_RECTANGLE = 2 AOE_LINE = 3 } ---- .. _CAbilityData: CAbilityData ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 8 | :ref:`CResRef` | m_icon | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | unsigned long | m_name | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | :ref:`CString` | m_effect | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nMinLevel | +------------+----------+----------------------------------------+-------------------------------+ | 0x14 | 4 | int | m_nMaxLevel | +------------+----------+----------------------------------------+-------------------------------+ | 0x18 | 4 | int | m_nNumAllowed | +------------+----------+----------------------------------------+-------------------------------+ | 0x1C | 4 | :ref:`CString` | m_sPrereq | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 4 | :ref:`CString` | m_sExcludedBy | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | :ref:`CString` | m_sAlignmentRestriction | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAbilityId: CAbilityId ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | short | m_itemType | +------------+----------+----------------------------------------+-------------------------------+ | 0x02 | 2 | short | m_itemNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 2 | short | m_abilityNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x06 | 8 | :ref:`CResRef` | m_res | +------------+----------+----------------------------------------+-------------------------------+ | 0x0E | 1 | unsigned char | m_targetType | +------------+----------+----------------------------------------+-------------------------------+ | 0x0F | 1 | unsigned char | m_targetCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | unsigned long | m_toolTip | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CApplyEffectList: CApplyEffectList ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 28 | :ref:`CTypedPtrList` | m_cTypedPtrList | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFile: CAreaFile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 12 | :ref:`CResHelper` | m_cResHelper | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileCharacterEntryPoint: CAreaFileCharacterEntryPoint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_entryName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_startX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_startY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | unsigned long | m_facing | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 64 | unsigned char | m_notUsed[64] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileContainer: CAreaFileContainer ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 2 | unsigned short | m_containerType | +------------+----------+----------------------------------------+-------------------------------+ | 0x26 | 2 | unsigned short | m_lockDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 2 | unsigned short | m_trapDetectionDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x2E | 2 | unsigned short | m_trapRemovalDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 2 | unsigned short | m_trapActivated | +------------+----------+----------------------------------------+-------------------------------+ | 0x32 | 2 | unsigned short | m_trapDetected | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 2 | unsigned short | m_posXTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x36 | 2 | unsigned short | m_posYTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 2 | unsigned short | m_boundingRectLeft | +------------+----------+----------------------------------------+-------------------------------+ | 0x3A | 2 | unsigned short | m_boundingRectTop | +------------+----------+----------------------------------------+-------------------------------+ | 0x3C | 2 | unsigned short | m_boundingRectRight | +------------+----------+----------------------------------------+-------------------------------+ | 0x3E | 2 | unsigned short | m_boundingRectBottom | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 4 | unsigned long | m_startingItem | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 4 | unsigned long | m_itemCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 8 | char | m_script[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x50 | 4 | unsigned long | m_pickPointStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x54 | 2 | unsigned short | m_pickPointCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x56 | 2 | unsigned short | m_triggerRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x58 | 32 | char | m_ownedBy[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x78 | 8 | char | m_keyType[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x80 | 4 | unsigned long | m_breakDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x84 | 4 | unsigned long | m_strNotPickable | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 56 | unsigned char | m_notUsed[56] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileCreature: CAreaFileCreature ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 2 | unsigned short | m_startingPosX | +------------+----------+----------------------------------------+-------------------------------+ | 0x26 | 2 | unsigned short | m_startingPosY | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 2 | unsigned short | m_type | +------------+----------+----------------------------------------+-------------------------------+ | 0x2E | 1 | unsigned char | m_cFirstResSlot | +------------+----------+----------------------------------------+-------------------------------+ | | 1 | | | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 4 | unsigned long | m_animationType | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 2 | unsigned short | m_facing | +------------+----------+----------------------------------------+-------------------------------+ | | 2 | | | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 4 | unsigned long | m_expirationTime | +------------+----------+----------------------------------------+-------------------------------+ | 0x3c | 2 | unsigned short | m_huntingRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x3E | 2 | unsigned short | m_followRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 4 | unsigned long | m_timeOfDayVisible | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 4 | unsigned long | m_numberTimesTalkedTo | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 8 | char | m_dialogOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x50 | 8 | char | m_overrideScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x58 | 8 | char | m_generalScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x60 | 8 | char | m_classScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x68 | 8 | char | m_raceScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x70 | 8 | char | m_defaultScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x78 | 8 | char | m_specificScriptOverride[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x80 | 8 | char | m_creatureData[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 4 | unsigned long | m_creatureOffset | +------------+----------+----------------------------------------+-------------------------------+ | 0x8C | 4 | unsigned long | m_creatureSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x90 | 32 | char | m_sName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0xB0 | 96 | unsigned char | m_notUsed[96] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileDoorObject: CAreaFileDoorObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 8 | unsigned char | m_doorID[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 4 | unsigned long | m_openSelectionPointStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 2 | unsigned short | m_openSelectionPointCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x32 | 2 | unsigned short | m_closedSelectionPointCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 4 | unsigned long | m_closedSelectionPointStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 2 | unsigned short | m_openBoundingRectLeft | +------------+----------+----------------------------------------+-------------------------------+ | 0x3A | 2 | unsigned short | m_openBoundingRectTop | +------------+----------+----------------------------------------+-------------------------------+ | 0x3C | 2 | unsigned short | m_openBoundingRectRight | +------------+----------+----------------------------------------+-------------------------------+ | 0x3E | 2 | unsigned short | m_openBoundingRectBottom | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 2 | unsigned short | m_closedBoundingRectLeft | +------------+----------+----------------------------------------+-------------------------------+ | 0x42 | 2 | unsigned short | m_closedBoundingRectTop | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 2 | unsigned short | m_closedBoundingRectRight | +------------+----------+----------------------------------------+-------------------------------+ | 0x46 | 2 | unsigned short | m_closedBoundingRectBottom | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 4 | unsigned long | m_openSearchSquaresStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x4C | 2 | unsigned short | m_openSearchSquaresCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x4E | 2 | unsigned short | m_closedSearchSquaresCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x50 | 4 | unsigned long | m_closedSearchSquaresStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x54 | 2 | short | m_hitPoints | +------------+----------+----------------------------------------+-------------------------------+ | 0x56 | 2 | short | m_armourClass | +------------+----------+----------------------------------------+-------------------------------+ | 0x58 | 8 | unsigned char | m_openSound[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x60 | 8 | unsigned char | m_closeSound[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x68 | 4 | unsigned long | m_cursorType | +------------+----------+----------------------------------------+-------------------------------+ | 0x6C | 2 | unsigned short | m_trapDetectionDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x6E | 2 | unsigned short | m_trapDisarmingDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x70 | 2 | unsigned short | m_trapActivated | +------------+----------+----------------------------------------+-------------------------------+ | 0x72 | 2 | unsigned short | m_trapDetected | +------------+----------+----------------------------------------+-------------------------------+ | 0x74 | 2 | unsigned short | m_posXTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x76 | 2 | unsigned short | m_posYTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x78 | 8 | unsigned char | m_keyType[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x80 | 8 | unsigned char | m_script[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 4 | unsigned long | m_detectionDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x8C | 4 | unsigned long | m_lockDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x90 | 2 | unsigned short | m_posXWalkTo1 | +------------+----------+----------------------------------------+-------------------------------+ | 0x92 | 2 | unsigned short | m_posYWalkTo1 | +------------+----------+----------------------------------------+-------------------------------+ | 0x94 | 2 | unsigned short | m_posXWalkTo2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x96 | 2 | unsigned short | m_posYWalkTo2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x98 | 4 | unsigned long | m_strNotPickable | +------------+----------+----------------------------------------+-------------------------------+ | 0x9C | 32 | char | m_triggerName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0xBC | 12 | unsigned long | m_notUsed[3] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileHeader: CAreaFileHeader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 8 | unsigned char | m_areaName[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | unsigned long | m_lastSaved | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | unsigned long | m_flags | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 8 | unsigned char | m_areaEdgeNorth[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x18 | 4 | unsigned long | m_flagsEdgeNorth | +------------+----------+----------------------------------------+-------------------------------+ | 0x1C | 8 | unsigned char | m_areaEdgeEast[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | unsigned long | m_flagsEdgeEast | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 8 | unsigned char | m_areaEdgeSouth[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 4 | unsigned long | m_flagsEdgeSouth | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 8 | unsigned char | m_areaEdgeWest[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x3C | 4 | unsigned long | m_flagsEdgeWest | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 2 | unsigned short | m_areaType | +------------+----------+----------------------------------------+-------------------------------+ | 0x42 | 2 | unsigned short | m_rainProbability | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 2 | unsigned short | m_snowProbability | +------------+----------+----------------------------------------+-------------------------------+ | 0x46 | 2 | unsigned short | m_fogProbability | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 2 | unsigned short | m_lightningProbability | +------------+----------+----------------------------------------+-------------------------------+ | 0x4A | 1 | unsigned char | m_waterAlpha | +------------+----------+----------------------------------------+-------------------------------+ | 0x4B | 1 | unsigned char | m_unused | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileOffsets: CAreaFileOffsets ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-----------------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x00 | 4 | unsigned long | m_creatureTableOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x04 | 2 | unsigned short | m_creatureTableCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x06 | 2 | unsigned short | m_triggerObjectListCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x08 | 4 | unsigned long | m_triggerObjectListOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x0C | 4 | unsigned long | m_randomMonsterSpawningPointTableOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x10 | 4 | unsigned long | m_randomMonsterSpawningPointTableCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x14 | 4 | unsigned long | m_characterEntryPointTableOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x18 | 4 | unsigned long | m_characterEntryPointTableCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x1C | 4 | unsigned long | m_containerListOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x20 | 2 | unsigned short | m_containerListCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x22 | 2 | unsigned short | m_itemObjectsCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x24 | 4 | unsigned long | m_itemObjectsOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x28 | 4 | unsigned long | m_pointsOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x2C | 2 | unsigned short | m_pointsCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x2E | 2 | unsigned short | m_soundObjectCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x30 | 4 | unsigned long | m_soundObjectOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x34 | 4 | unsigned long | m_areaScriptVariablesOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x38 | 2 | unsigned short | m_areaScriptVariablesCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x3A | 2 | unsigned short | m_tiledObjectFlagsCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x3C | 4 | unsigned long | m_tiledObjectFlagsOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x40 | 8 | unsigned char | m_script[8] | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x48 | 4 | unsigned long | m_visibilityMapCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x4C | 4 | unsigned long | m_visibilityMapOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x50 | 4 | unsigned long | m_doorObjectListCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x54 | 4 | unsigned long | m_doorObjectListOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x58 | 4 | unsigned long | m_staticObjectListCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x5C | 4 | unsigned long | m_staticObjectListOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x60 | 4 | unsigned long | m_tiledObjectListCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x64 | 4 | unsigned long | m_tiledObjectListOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x68 | 4 | unsigned long | m_areaSoundsAndMusicOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x6C | 4 | unsigned long | m_restingEncounterOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x70 | 4 | unsigned long | m_userMapNotesOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x74 | 4 | unsigned long | m_userMapNotesCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x78 | 4 | unsigned long | m_projectileTableOffset | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x7C | 4 | unsigned long | m_projectileTableCount | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x80 | 8 | unsigned char | m_restMovieDay[8] | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x88 | 8 | unsigned char | m_restMovieNight[8] | +------------+----------+----------------------------------------+-----------------------------------------+ | 0x90 | 56 | unsigned long | m_notUsed[14] | +------------+----------+----------------------------------------+-----------------------------------------+ ---- .. _CAreaFileProjectileObject: CAreaFileProjectileObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 8 | unsigned char | m_resref[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | unsigned long | m_effectListOffset | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 2 | unsigned short | m_effectListCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x0E | 2 | unsigned short | m_projectileID | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 2 | short | m_nDelayCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x12 | 2 | short | m_nRepetitionCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x14 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x16 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x18 | 2 | unsigned short | m_posZ | +------------+----------+----------------------------------------+-------------------------------+ | 0x1A | 1 | unsigned char | m_targetType | +------------+----------+----------------------------------------+-------------------------------+ | 0x1B | 1 | char | m_portraitNum | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileRandomMonsterSpawningPoint: CAreaFileRandomMonsterSpawningPoint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 80 | unsigned char | m_randomCreature[10][8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x74 | 2 | unsigned short | m_randomCreatureNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x76 | 2 | unsigned short | m_difficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x78 | 2 | unsigned short | m_spawningRate | +------------+----------+----------------------------------------+-------------------------------+ | 0x7A | 2 | unsigned short | m_wFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x7C | 4 | unsigned long | m_lifeSpan | +------------+----------+----------------------------------------+-------------------------------+ | 0x80 | 2 | unsigned short | m_huntingRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x82 | 2 | unsigned short | m_followRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x84 | 2 | unsigned short | m_maxTypeNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x86 | 2 | unsigned short | m_activated | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 4 | unsigned long | m_timeOfDayVisible | +------------+----------+----------------------------------------+-------------------------------+ | 0x8C | 2 | unsigned short | m_probDay | +------------+----------+----------------------------------------+-------------------------------+ | 0x8E | 2 | unsigned short | m_probNight | +------------+----------+----------------------------------------+-------------------------------+ | 0x90 | 4 | unsigned long | m_frequency | +------------+----------+----------------------------------------+-------------------------------+ | 0x94 | 4 | unsigned long | m_countdown | +------------+----------+----------------------------------------+-------------------------------+ | 0x98 | 10 | unsigned char | m_weights[10] | +------------+----------+----------------------------------------+-------------------------------+ | 0xA2 | 38 | unsigned short | m_notUsed[19] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileRestEncounter: CAreaFileRestEncounter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 40 | unsigned long | m_randomCreatureString[10] | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 80 | unsigned char | m_randomCreature[10][8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x98 | 2 | unsigned short | m_randomCreatureNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x9A | 2 | unsigned short | m_difficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x9C | 4 | unsigned long | m_lifeSpan | +------------+----------+----------------------------------------+-------------------------------+ | 0xA0 | 2 | unsigned short | m_huntingRange | +------------+----------+----------------------------------------+-------------------------------+ | 0xA2 | 2 | unsigned short | m_followRange | +------------+----------+----------------------------------------+-------------------------------+ | 0xA4 | 2 | unsigned short | m_maxTypeNum | +------------+----------+----------------------------------------+-------------------------------+ | 0xA6 | 2 | unsigned short | m_activated | +------------+----------+----------------------------------------+-------------------------------+ | 0xA8 | 2 | unsigned short | m_probDay | +------------+----------+----------------------------------------+-------------------------------+ | 0xAA | 2 | unsigned short | m_probNight | +------------+----------+----------------------------------------+-------------------------------+ | 0xAC | 2 | unsigned short | m_wFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0xAE | 10 | unsigned char | m_weights[10] | +------------+----------+----------------------------------------+-------------------------------+ | 0xB8 | 44 | unsigned long | m_notUsed[11] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileSoundObject: CAreaFileSoundObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 2 | unsigned short | m_range | +------------+----------+----------------------------------------+-------------------------------+ | 0x26 | 2 | unsigned char | structureAlignment1[2] | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | unsigned long | m_pitchVariance | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 2 | unsigned short | m_volumeVariance | +------------+----------+----------------------------------------+-------------------------------+ | 0x2E | 2 | unsigned short | m_volume | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 80 | unsigned char | soundObject[10][8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x80 | 2 | unsigned short | m_soundObjectNum | +------------+----------+----------------------------------------+-------------------------------+ | 0x82 | 2 | unsigned char | structureAlignment2[2] | +------------+----------+----------------------------------------+-------------------------------+ | 0x84 | 4 | unsigned long | m_period | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 4 | unsigned long | m_periodVariance | +------------+----------+----------------------------------------+-------------------------------+ | 0x8C | 4 | unsigned long | m_timeOfDayActive | +------------+----------+----------------------------------------+-------------------------------+ | 0x90 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x94 | 64 | unsigned long | m_notUsed[16] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileStaticObject: CAreaFileStaticObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_posX | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_posY | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | unsigned long | m_timeOfDayVisible | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 8 | char | m_resref[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 4 | unsigned long | m_nSequence | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 2 | short | m_height | +------------+----------+----------------------------------------+-------------------------------+ | 0x3A | 2 | unsigned short | m_translucency | +------------+----------+----------------------------------------+-------------------------------+ | 0x3C | 2 | unsigned short | m_startFrameRange | +------------+----------+----------------------------------------+-------------------------------+ | 0x3E | 1 | unsigned char | m_probability | +------------+----------+----------------------------------------+-------------------------------+ | 0x3F | 1 | unsigned char | m_period | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 8 | unsigned char | m_paletteResref[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x48 | 2 | unsigned short | m_sizeX | +------------+----------+----------------------------------------+-------------------------------+ | 0x4A | 2 | unsigned short | m_sizeY | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileTiledObject: CAreaFileTiledObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 8 | unsigned char | m_tileID[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 4 | unsigned long | m_primarySearchSquaresStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 2 | unsigned short | m_primarySearchSquaresCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x32 | 2 | unsigned short | m_secondarySearchSquaresCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 4 | unsigned long | m_secondarySearchSquaresStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 48 | unsigned long | m_notUsed[12] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaFileTriggerObject: CAreaFileTriggerObject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_scriptName[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_triggerType | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_boundingRectLeft | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 2 | unsigned short | m_boundingRectTop | +------------+----------+----------------------------------------+-------------------------------+ | 0x26 | 2 | unsigned short | m_boundingRectRight | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 2 | unsigned short | m_boundingRectBottom | +------------+----------+----------------------------------------+-------------------------------+ | 0x2A | 2 | unsigned short | m_pickPointCount | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 4 | unsigned long | m_pickPointStart | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 4 | unsigned long | m_triggerValue | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 4 | unsigned long | m_cursorType | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 8 | unsigned char | m_newArea[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x40 | 32 | char | m_newEntryPoint[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x60 | 4 | unsigned long | m_dwFlags | +------------+----------+----------------------------------------+-------------------------------+ | 0x64 | 4 | unsigned long | m_description | +------------+----------+----------------------------------------+-------------------------------+ | 0x68 | 2 | unsigned short | m_trapDetectionDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x6A | 2 | unsigned short | m_trapDisarmingDifficulty | +------------+----------+----------------------------------------+-------------------------------+ | 0x6C | 2 | unsigned short | m_trapActivated | +------------+----------+----------------------------------------+-------------------------------+ | 0x6E | 2 | unsigned short | m_trapDetected | +------------+----------+----------------------------------------+-------------------------------+ | 0x70 | 2 | unsigned short | m_posXTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x72 | 2 | unsigned short | m_posYTrapOrigin | +------------+----------+----------------------------------------+-------------------------------+ | 0x74 | 8 | unsigned char | m_keyType[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x7C | 8 | unsigned char | m_script[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x84 | 2 | unsigned short | m_transitionWalkToX | +------------+----------+----------------------------------------+-------------------------------+ | 0x86 | 2 | unsigned short | m_transitionWalkToY | +------------+----------+----------------------------------------+-------------------------------+ | 0x88 | 60 | unsigned long | m_notUsed[15] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaPoint: CAreaPoint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | unsigned short | m_xPos | +------------+----------+----------------------------------------+-------------------------------+ | 0x02 | 2 | unsigned short | m_yPos | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaSoundsAndMusic: CAreaSoundsAndMusic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | unsigned long | m_dayMusic | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | unsigned long | m_nightMusic | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | unsigned long | m_battleWinningMusic | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | unsigned long | m_battleStandOffMusic | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | unsigned long | m_battleLosingMusic | +------------+----------+----------------------------------------+-------------------------------+ | 0x14 | 4 | unsigned long | m_alt1Music0 | +------------+----------+----------------------------------------+-------------------------------+ | 0x18 | 4 | unsigned long | m_alt1Music1 | +------------+----------+----------------------------------------+-------------------------------+ | 0x1C | 4 | unsigned long | m_alt1Music2 | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 4 | unsigned long | m_alt1Music3 | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | unsigned long | m_alt1Music4 | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 8 | unsigned char | m_dayAmbient[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x30 | 8 | unsigned char | m_dayAmbientExtended[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x38 | 4 | unsigned long | m_dayAmbientVolume | +------------+----------+----------------------------------------+-------------------------------+ | 0x3C | 8 | unsigned char | m_nightAmbient[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x44 | 8 | unsigned char | m_nightAmbientExtended[8] | +------------+----------+----------------------------------------+-------------------------------+ | 0x4C | 4 | unsigned long | m_nightAmbientVolume | +------------+----------+----------------------------------------+-------------------------------+ | 0x50 | 64 | unsigned long | m_notUsed[16] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaUserNote: CAreaUserNote ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 2 | unsigned short | m_startX | +------------+----------+----------------------------------------+-------------------------------+ | 0x02 | 2 | unsigned short | m_startY | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | unsigned long | m_note | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | unsigned long | m_dwflags | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | unsigned long | m_id | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 36 | unsigned long | m_notUsed[9] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CAreaVariable: CAreaVariable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 32 | char | m_name[32] | +------------+----------+----------------------------------------+-------------------------------+ | 0x20 | 2 | unsigned short | m_type | +------------+----------+----------------------------------------+-------------------------------+ | 0x22 | 2 | unsigned short | m_resRefType | +------------+----------+----------------------------------------+-------------------------------+ | 0x24 | 4 | unsigned long | m_dWValue | +------------+----------+----------------------------------------+-------------------------------+ | 0x28 | 4 | long | m_intValue | +------------+----------+----------------------------------------+-------------------------------+ | 0x2C | 8 | double | m_floatValue | +------------+----------+----------------------------------------+-------------------------------+ | 0x34 | 32 | char | m_stringValue[32] | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArray: CArray ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: CArray is a generic definition for all the CArray type structures. Each of them has a m_pData field that points to a specific structure. The names of these other CArray structures have been created for convenience, by adding the name of the structure that they point to to the end of the 'CArray'. The actual definitions as they are seen by the game engine (and from extracting pdb symbol information) are noted for each of them. +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | DWORD (\* to a structure) | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayCDLC: CArray (CDLC) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | :ref:`CDLC`\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayCDLC_Content: CArray (CDLC_Content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+---------------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+---------------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+---------------------------------------------+-------------------------------+ | 0x04 | 4 | :ref:`CDLC_Content`\* | m_pData | +------------+----------+---------------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+---------------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+---------------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+---------------------------------------------+-------------------------------+ ---- .. _CArrayCOverridePath: CArray (COverridePath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+-----------------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+-----------------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+-----------------------------------------------+-------------------------------+ | 0x04 | 4 | :ref:`COverridePath`\* | m_pData | +------------+----------+-----------------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+-----------------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+-----------------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+-----------------------------------------------+-------------------------------+ ---- .. _CArrayCRect: CArray (CRect) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | :ref:`CRect`\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayCZipFile: CArray (CZipFile) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | :ref:`CZipFile`\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayMod_t: CArray (Mod_t) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | Mod_t\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayStatRating: CArray (StatRating) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | StatRating\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+ ---- .. _CArrayzip_t: CArray (zip_t) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Defined as ``class CArray`` +------------+----------+----------------------------------------+-------------------------------+ | **Offset** | **Size** | **Type** | **Field** | +------------+----------+----------------------------------------+-------------------------------+ | 0x00 | 4 | :ref:`CObject` | m_cObject | +------------+----------+----------------------------------------+-------------------------------+ | 0x04 | 4 | zip_t\* | m_pData | +------------+----------+----------------------------------------+-------------------------------+ | 0x08 | 4 | int | m_nSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x0C | 4 | int | m_nMaxSize | +------------+----------+----------------------------------------+-------------------------------+ | 0x10 | 4 | int | m_nGrowBy | +------------+----------+----------------------------------------+-------------------------------+